From the beginning to the end of the development of this project, I have been part of the scrum team of Combat, in charge the combat design and particularly in Geralt design.
At first during the pre produtcion phase I worked among design members to develope the pillars & bases of the combat that evolved through the production phase to the current final state
Throughout the production I've been iterating on combat such as prototyping in Unity or through playtesting , making VFX mainly for characters & iterating also on game feel focused in combat
Always in constant communication with the engine team to priorize crucial features for the development, also helping and communicating with the gameplay programmers to achieve accurately the main vision of combat
At the beginning together with Jorge Gemas defined Yennefer characteristics and how they complement with Geralt ones. Geralt a melee short ranged works as the tank & deals more dmaged on the other hand Yennefer works as a ranged character with intense crowd control over the enemies through knockbacks.
One main pillar of the game is to be fast paced, in order to achieve that players must feel very poweful moreover cooperation is another main pillar so the game challenge must be enough to force cooperation.
Snapping rough draft iteration on early vertical slice
Inorder to achieve a fast paced action using diferent perspective i designed a snap. Each attack has a different snap range and speed to target so the player uses diferent strategies in different challenges
The input is designed from a finger physiognomy view, light attack is on X and the heavy on Y button, so if the player needs to switch from one button to another he doesn't need to bend the thumb.
The dash button follows the same principle: in order to use it while attacking the player just has to use the index finger instead of bending the thumb to another button
On the other hand we have the spells that dont follow this principle, mainly because cadence of these is minor and have a cooldown based on player's mana
Togehter with Jaume Montagut, Marc Gálvez, Axel Aalavedra and Cere Venteo we created a unity prototype to test the core mechanic of combat, fast pacing and see if it fits wells with the relic system, while Alien Engine was still in an early development
I was in charge of programming the input movement getting proper direction if the camera changes the angle, blending run & walk animations & gathering all combos animations from mixamo that some of them were recycled in engine later
At the beggining i was in charge of implementing both characters animations combos and iterate the combos and its variables to polish them, but after a sprint i could the task grew up exponentially so i had to focus on geralt to achieve a decent polish level
Approach to get to the final state
First Iteration
Final Iteration
Initially Geralt had 6 combos from 3 to 5 attacks each combos. Throughout playtesting and iterations the combos were reduced from 6 to 4, for a easier internalization of its uses & we established that all combos would have 3 attacks per combo.
Light Combo: more attack area but less damage
Heavy Combo:more damaged but focused on a single target
Area Combo: pushback enemies in all directions
Lift up Combo:Knocks up enemies
Input attack is linked with the player actions, light attack button will release and horizontal slash, while heavy attack button an horizontal one.
To give more feedback & game feel on attacks, with the help of Carlos Peña creating new requestes features for the particle system I designed and created and slash for each attack also as a visible way to delimitate geralt attack collider
Here we can see the iterations
The first aproach was using quads and a slash texture
Later when the particle system supported mesh instancing i started iterating on some meshes for the slash
With a beam texture i gave the mesh a sense of direction
Finally instancing the same mesh with diferent proportions & speeds for each attack, rotating it around its pivot gave the sensation of a sword smear
With Yennefer I used the same sistem but changing the texture with the help of Yessica Servín to give it a rounded head
With the same method as geralt slashes i created a new slash with diferents uvs that later would be used to make the outline slash of geralt relic atacs
Geralt required and expansive wave particle that i modeled and implemented to the engine
I've iterated on torandos first as a yenn particle attack and later on Ciri ambient boss battle tornado
This tornado was made using quads that where pointing up & down on Y axis
Created this texture for this tornado
This tornado had an issue that depending on the angle of the camera the tornado could not be seen due it's made from quads & Ciri boss fight camera angle required a different approach.
In this case i used the same approach but instead of using quads i recycled the same mesh i created for expansive wave with a beam texture. The final result make it viable put the camera in diferent angles and see the tornado
I've created a blood particle on each attack that follows the direction of the hits, I explain it on detail on game feel section
I also made blood particles for decapitations to make them more shocking
I've implemented a feature that rotates blood particle according to player orientation to increase the feel of impacting the enemy
Each attack is linked with a different blood particle prefab with a given rotation if the player is in front of the enemy. then when the enemy recieves the hit & spawn the particle, calculates the orientation of the player and applies this orientation + its original given to the particle.
Cases where the gamepad rumbles with different intensities & duration
Cases where the camera shakes with different intensities
Design of freeze
Designed hit count system along with Jaume Montagut & implemented by Víctor Segura.